A computer system provides an execution environment for the programs that execute on the computer system. The execution environment includes the hardware and software that execute with and affect the execution of the program. For example, the execution environment of a web browser includes the networking interfaces, operating system, and hardware. As another example, the execution environment of the operating system includes the hardware and the resources allocated to the operating system.
For a program to operate in the execution environment defined by the computer system, the program is typically configured for the execution environment. Specifically, a developer of the program embeds a variety of configuration variables within the program. The configuration variables define values that are specific to the execution environment and required by the program to execute. The values for the configuration variables are based on the execution environment of the program, preferences of an individual installing and/or using the program, etc. The program is able to obtain the values for the configuration variables during execution of the program.
A configuration file is used to store the configuration values for a program. A user installing or using the program can modify the configuration file to change the execution of the program. Thus, when the program is executed, the program obtains the values set by the individual and executes accordingly.